The invention relates to software fault recovery techniques and, more particularly but not by way of limitation, to software recovery operations that may be selectively initiated by remotely communicated user input.
Various industries have incorporated and rely on computer programs (applications) to enable round-the-clock business operations. One industry that relies on the continuous operation of computer programs is the packing and shipping industry. In this industry, tracking the 24-hour movement of freight from shipping source to shipping destination (and all intermediate locations) is generally considered vital to the success of a business.
If the programs used to track freight fail, it may be impossible to determine the current location of any given package or piece of freight. Not only does this jeopardize the efficient operation of the shipping company, it may also negatively impact a client""s ability to track their freight and, consequently, negatively affect their perception of the shipping company""s performance.
In this and similar industries, several software recovery techniques have been developed. One such technique is to redundantly execute mission-critical applications. In this way, if one of the executing applications fails the other may be used, with the failed application being brought back on line as soon as possible. The most common technique, however, relies on an individual being on-duty 24-hours a day to monitor the execution of mission critical applications. In one approach, personnel capable of responding to a software failure are employed to perform the monitoring. In another approach, lesser trained personnel are employed to monitor the application. When an error is detected, these individuals contact a third party who then travel to the business site to troubleshoot and restart the faulty application.
Many organizations may not be able to afford the money or consumption of personnel resources to maintain a 24-hour watch on their computer systems. Thus, it would be beneficial to provide a software fault recovery technique that may be initiated remotely.
In one embodiment the invention provides a method to remotely, and selectively initiate software fault recovery actions. The method includes determining a state of a process, transmitting an alert message to a remote device if the process in a first state, selectively initiating a fault recovery action in accordance with response signal (received in response to the alert signal), and initiating a default recovery action if the response message is not received within a specified time period. In some embodiments, the alert message and response message are communicated by the same mode (e.g., electronic mail). In other embodiments, the alert and response messages may be transmitted via different modes (e.g., the alert message may be transmitted by electronic mail and the response message may be transmitted by telephone lines using an interactive voice response system). The method may be stored in any media that is readable and executable by a computer system.